import request from '@/utils/request'

/**
 * 知识管理相关接口
 */

export default {
  /**
   * 获取知识列表
   * @param {Object} params 查询参数 {title, category_id, status, page, page_size}
   * @returns Promise
   */
  getTheoryList(params) {
    return request({
      url: '/teacher/knowledges',
      method: 'get',
      params
    })
  },

  /**
   * 获取知识分类列表
   * @param {Object} params 查询参数 {name}
   * @returns Promise
   */
  getKnowledgeCategories(params) {
    return request({
      url: '/teacher/knowledge-categories',
      method: 'get',
      params
    })
  },

  /**
   * 新增知识
   * @param {Object} data 知识数据
   * @param {Number} data.category_id 分类ID
   * @param {String} data.title 标题
   * @param {Number} data.type 类型 1=PDF 2=视频 3=第三方链接
   * @param {Array} data.file_url 文件URL数组(类型1/2使用)
   * @param {String} data.third_party_link 第三方链接(类型3使用)
   * @param {Number} data.status 状态
   * @returns Promise
   */
  createTheory(data) {
    return request({
      url: '/teacher/knowledges',
      method: 'post',
      data
    })
  },

  /**
   * 编辑知识
   * @param {Object} data 知识数据 (同新增 + id)
   * @returns Promise
   */
  updateTheory(data) {
    return request({
      url: '/teacher/knowledges',
      method: 'put',
      data
    })
  },

  /**
   * 删除知识
   * @param {Number} id 知识ID
   * @returns Promise
   */
  deleteTheory(id) {
    return request({
      url: `/teacher/knowledges/${id}`,
      method: 'delete'
    })
  },

  /**
   * 上传知识文件
   * @param {FormData} data 表单数据 {type, files}
   * @returns Promise
   */
  uploadKnowledgeFile(data) {
    return request({
      url: '/teacher/knowledge-upload',
      method: 'post',
      data,
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  }
}